package com.java.dao;

import java.sql.PreparedStatement;
import java.sql.ResultSet;

import com.java.utils.SqlCons;

public class LoginDao extends BaseDao{

	/**
	* @Title: login
	* @Description: <p>账号登陆</p>
	* @param name
	* @param password
	* @param type
	* @return <p>0：账号不存在，-1密码错误，其他：登陆成功</p>
	* int
	* @author ChenJiaLu
	* @date 2023年12月29日 上午9:57:47
	 */
	public int login(String name, String password, int type) {
		String sql = SqlCons.LOGIN.ADMIN;
		if(type == 2) {
			sql = SqlCons.LOGIN.DOCTOR;
		}else if(type == 3) {
			sql = SqlCons.LOGIN.PATIENT;
		}
		try {
			PreparedStatement statement = getConnection().prepareStatement(sql);
			statement.setString(1, name);
			ResultSet res = statement.executeQuery();
			if(res.next()) {
				String psw = res.getString("password");
				if(!password.equals(psw)) {
					return -1;
				}
				return res.getInt("id");
			}
		} catch (Exception e) {
			System.err.println(e.getMessage());
			return 0;
		} finally {
			close();
		}
		return 0;
	}

	/**
	* @Title: updateAdminPsw
	* @Description: <p>管理员密码修改</p>
	* @param userId
	* @param newPswStr2 <p>TODO</p>
	* void
	* @author ChenJiaLu
	* @date 2023年12月29日 上午10:07:14
	 */
	public void updateAdminPsw(Integer userId, String newPswStr2) {
		try {
			PreparedStatement statement = getConnection().prepareStatement(SqlCons.ADMIN.UPDATE_PASSWORD);
			statement.setString(1, newPswStr2);
			statement.setInt(2, userId);
			statement.executeUpdate();
		} catch (Exception e) {
			System.err.println(e.getMessage());
		} finally {
			close();
		}
	}
}
